package org.zhadoop.streaming.operator;

import java.io.Serializable;

import org.zhadoop.streaming.config.StreamingConfig;
import org.zhadoop.streaming.exception.StreamingException;

/**
 * 流算子基本的接口
 * @author zwd
 *
 */
public interface IStreamOperator extends Serializable{
	
	/**
	 * 设置配置属性
	 * @param conf
	 * @throws StramingException
	 */
	void setConfig(StreamingConfig conf) throws StreamingException;
	
	/**
	 * 获取配置属性
	 * 编译时接口
	 * @return
	 */
	StreamingConfig getConfig();
	
	/**
	 * 运行时的初始化的接口
	 * @throws StreamingException
	 */
	void initialize() throws StreamingException;
	
	/**
	 * 运行时销毁的接口
	 * @throws StreamingException
	 */
	void destory() throws StreamingException;

}
